Перейти к основному содержимому

Настройки аналитики

Система аналитики обучения Moodle требует некоторой начальной настройки, прежде чем её можно будет использовать. Вы можете получить доступ к Настройкам аналитики из Администрирования сайта > Аналитика > Настройки аналитики.

Информация о сайте

Информация о сайте будет использоваться, чтобы помочь моделям аналитики обучения учитывать особенности учреждения. Эта информация также будет отправлена как часть сбора данных о сайте при регистрации вашего сайта. Это позволит штаб-квартире понять, какие области в аналитике обучения используются наиболее активно, и соответствующим образом расставить приоритеты в ресурсах для разработки.

Настройка параметров аналитики обучения

Аналитика может быть отключена в разделе Администрирование сайта / Расширенные возможности.

Затем их можно настроить в разделе Администрирование сайта / Аналитика.

Обработчик прогнозов

Выделение обработчика прогнозов Обработчики прогнозов — это серверы машинного обучения, которые обрабатывают наборы данных, созданные на основе вычисляемых показателей и целей, и возвращают прогнозы. В ядре Moodle включены два обработчика прогнозов:

Обработчик прогнозов PHP

Обработчик PHP используется по умолчанию. Для использования этого обработчика нет других системных требований.

Обработчик прогнозов Python

Обработчик Python более мощный, и он генерирует графики, объясняющие производительность модели. Для его использования необходимо настроить дополнительные инструменты: сам Python (https://wiki.python.org/moin/BeginnersGuide/Download) и пакет Python moodlemlbackend. Пакет может быть установлен на веб-сервере (на всех узлах, если используется кластерная среда) или на отдельном сервере.

Версии
  • Moodle 4.0 и выше использует пакет 3.0.* (минимум 3.0.4)
Установлен на веб-сервере

Последние версии пакетов для Moodle 3.8 и выше совместимы с Python 3.4, 3.5, 3.6 и 3.7. Обратите внимание, что пакет должен быть доступен как для пользователя интерфейса командной строки (CLI), так и для пользователя, который запускает веб-сервер (например, www-data).

  1. При необходимости установите Python 3 (и pip для Python 3).
  2. Убедитесь, что вы используете Python 3 для установки пакета moodlemlbackend (для VERSION см. предыдущий раздел):

sudo -H python3 -m pip install "moodlemlbackend==VERSION"

  1. Вы также должны ввести путь к исполняемому файлу Python 3 в Администрировании сайта -> Сервер -> Системные пути:
Введите системный путь для Python 3
Установлен на отдельном сервере

Установка пакета Python на отдельном сервере вместо установки на веб-сервере имеет некоторые преимущества:

  • Сохраняет сервер машинного обучения Python как внешнюю службу.
  • Позволяет отдельно контролировать ресурсы, которые веб-сервер выделяет для обслуживания Moodle, и ресурсы, выделенные для сервера машинного обучения Python.
  • Вы можете повторно использовать один и тот же сервер машинного обучения для нескольких сайтов Moodle. Проще настроить и поддерживать, чем устанавливать/обновлять пакет Python на всех узлах кластера.
  • Вы можете установить пакет как новый контейнер Docker в вашей докеразированной среде.
  • Вы можете предоставить сервер машинного обучения через AWS через шлюз API и AWS lambda, храня файлы обученной модели в S3.

С другой стороны, ожидается, что может возникнуть некоторая дополнительная задержка при подключении к серверу машинного обучения Python.

Сервер Python представлен как приложение Flask. Приложение Flask является частью официального пакета Python 'moodlemlbackend', и его скрипт FLASK_APP называется 'webapp', в корне пакета. Вы можете использовать настройку, которая лучше всего подходит вашей существующей инфраструктуре.

Новый сервер в вашей инфраструктуре

Сервер машинного обучения Python представлен как приложение Flask, которое использует сервер WSGI (https://wsgi.readthedocs.io/en/latest/what.html) для подключения к Интернету. Официальная документация по развёртыванию приложения Flask доступна по адресу https://flask.palletsprojects.com/en/1.0.x/tutorial/deploy/.

  • Используйте переменную окружения MOODLE_MLBACKEND_PYTHON_USERS, чтобы задать список пользователей и паролей (через запятую). Значение по умолчанию: 'default:sshhhh' (пользователь: default, пароль: sshhhh).
  • Установите MOODLE_MLBACKEND_PYTHON_DIR в путь, который вы хотите использовать для хранения данных, сгенерированных пакетом.
Docker

https://hub.docker.com/r/moodlehq/moodle-mlbackend-python — это официальный образ Docker moodle-mlbackend-python. Мы используем его внутри Moodle HQ для внутреннего тестирования, и вы также можете его использовать. Если вам нужно больше контроля над образом, в этом случае https://github.com/moodlehq/moodle-docker-mlbackend-python/blob/master/Dockerfile может служить примером того, что необходимо для работы пакета python moodlemlbackend.

  • Используйте переменную окружения MOODLE_MLBACKEND_PYTHON_USERS, чтобы задать список пользователей и паролей (через запятую). Значение по умолчанию: 'default:sshhhh' (пользователь: default, пароль: sshhhh).

Для запуска контейнера Docker локально вы можете выполнить (для VERSION см. раздел Версии выше):

docker pull moodlehq/moodle-mlbackend-python:VERSION-python3.7.5
docker run -d -p 5000:5000 --name=mlbackendpython --rm --add-host=mlbackendpython:0.0.0.0 moodlehq/moodle-mlbackend-python:VERSION-python3.7.5

Примечание: вам нужно добавить --network=moodledocker_default, если вы используете moodle-docker и хотите, чтобы этот контейнер был виден с веб-сервера.

Затем добавьте это в ваш файл config.php:

$CFG->pathtopython = 'python';
define('TEST_MLBACKEND_PYTHON_HOST', 'localhost'); // Измените на "mlbackendpython", если вы используете moodle-docker.
define('TEST_MLBACKEND_PYTHON_PORT', 5000);
define('TEST_MLBACKEND_PYTHON_USERNAME', 'default');
define('TEST_MLBACKEND_PYTHON_PASSWORD', 'sshhhh');

Чтобы проверить, работает ли это, эта команда не должна пропускать ни одного теста:

vendor/bin/phpunit analytics/tests/prediction_test.php --verbose
Бессерверный сервис AWS

Вы можете предоставить приложение Flask как бессерверное приложение, используя шлюз API AWS и AWS lambda. Самый простой способ сделать это — использовать Zappa https://github.com/Miserlou/Zappa для развёртывания приложения Flask, содержащегося в пакете Python ML.

  • Используйте переменную окружения MOODLE_MLBACKEND_PYTHON_USERS, чтобы задать список пользователей и паролей (через запятую). Значение по умолчанию: 'default:sshhhh' (пользователь: default, пароль: sshhhh).
  • Установите MOODLE_MLBACKEND_PYTHON_DIR в путь, который вы хотите использовать для хранения данных, сгенерированных пакетом.
  • Установите следующие переменные окружения для настройки доступа к S3:
    • MOODLE_MLBACKEND_PYTHON_S3_BUCKET_NAME для имени корзины.
    • AWS_ACCESS_KEY_ID как обычно.
    • AWS_SECRET_ACCESS_KEY как обычно.

После этого вы можете выбрать обработчик прогнозов Python по умолчанию или для отдельной модели: Обработчик прогнозов по умолчанию Выделение обработчика прогнозов для отдельной модели

Способ хранения журнала событий

Начиная с версии Moodle 2.7 и выше, «Стандартный журнал событий» используется по умолчанию. Если по какой-либо причине у вас также есть данные в старых «устаревших журналах», вы можете включить систему аналитики обучения Moodle для доступа к ним.

Интервалы анализа

Интервалы анализа определяют, как часто будут генерироваться инсайты и сколько информации будет использоваться для каждого вычисления. Использование пропорциональных интервалов анализа позволяет использовать курсы разной длины для обучения одной модели.

В системе доступно несколько интервалов анализа для моделей. В этой настройке определяются интервалы анализа, которые будут использоваться для оценки моделей, например, чтобы можно было выбрать лучший интервал анализа, определённый в процессе оценки, для модели. Эта настройка не ограничивает интервалы анализа, которые можно использовать для конкретных моделей.

![Интервалы анализа](/img/Analytics_settings/lmsENimg/06_timesplitting.png "Интервалы